// pages/index1/index1.js
const db = wx.cloud.database();
const command = db.command;
Page({

  /**
   * 页面的初始数据
   */
  data: {
    loading: true,
    newWidth: "",
    newHeight: "",
    // 下面两条用于控制显示和隐藏密码
    defaultType: true,
    passwordType: true,
    // 用户输入的用户名
    getusername: '',
    // 用户输入的密码
    getpassword: '',
  },
  // 自动处理图片宽高，用来适应窗口
  autoImage(event) {
    var that = this;
    // 获取图片宽高信息
    var imageWidth = event.detail.width;
    var imageHeight = event.detail.height;
    // console.log("图片高度：",imageWidth);
    // console.log("图片宽度：",imageHeight);
    // 获取屏幕宽度和高度信息
    var winWidth = wx.getSystemInfoSync().windowWidth;
    var winHeight = wx.getSystemInfoSync().windowHeight;
    // console.log("屏幕高度：",winWidth);
    // console.log("屏幕宽度：",winHeight);
    // 传入云函数，使图片宽高适应设备
    wx.cloud.callFunction({
      name: "adaptImage",
      data: {
        imageWidth,
        imageHeight,
        winWidth,
        winHeight,
      },
    }).then(res => {
      // console.log(res.result);
      this.setData({
        newWidth: res.result.newWidth,
        newHeight: res.result.newHeight,
      })
    })
  },

  // 获取用户输入的用户名输入框
  input_username: function (event) {
    // console.log(event.detail.value);
    this.setData({
      getusername: event.detail.value
    })
  },

  // 获取用户输入的密码框
  input_password: function (event) {
    this.setData({
      getpassword: event.detail.value
    })
  },

  // 控制显示密码框框的小眼睛状态
  eyeStatus: function () {
    this.data.defaultType = !this.data.defaultType
    this.data.passwordType = !this.data.passwordType
    this.setData({
      defaultType: this.data.defaultType,
      passwordType: this.data.passwordType
    })
  },

  // 点击登录按钮,开始进行密码登录，开始进行一系列判断
  log_in: function () {
    // console.log(this.data);
    // console.log(this.data.getpassword);
    db.collection("users")
      .where({
        username: this.data.getusername
      })
      .get()
      .then(res => {
        console.log(res.data[0]);
        if (this.data.getusername.length == 0) {
          wx.showToast({
            title: '请输入正确的用户名',
            icon: 'none'
          })
          return false
        } else if (this.data.getpassword.length == 0) {
          wx.showToast({
            title: '请输入正确的密码',
            icon: 'none'
          })
          return false
        } else if (res.data.length == 0) {
          wx.showToast({
            title: '该用户尚未注册',
            icon: 'none'
          })
          return false
        }
        // 如果用户名和密码都匹配，且role的值为worker就跳转到工人的界面
        else if (this.data.getusername == res.data[0].username && this.data.getpassword == res.data[0].password && res.data[0].role == 'worker') {
          // 将当前用户的name写入缓存，方便在后面页面使用
          wx.setStorage({
            data: res.data[0].name,
            key: 'nickName',
          })
          // 将当前用户的openid写入缓存，方便在后期页面使用
          wx.setStorage({
            data: res.data[0]._openid,
            key: 'nowlogin_user',
          })
          // 将用户的用户名写入缓存，方便后期使用
          wx.setStorage({
            data: res.data[0].username,
            key: 'username',
          })
          // 将用户的头像地址写入缓存，方便在后面页面中使用
          if (res.data[0].avatar.length != 0) {
            wx.setStorage({
              data: res.data[0].avatar,
              key: 'avatarUrl',
            })
          } else {
            wx.setStorage({
              data: '',
              key: 'avatarUrl',
            })
          }
          wx.reLaunch({
            url: '../../pages/worker_index/worker_index',
          })
        }
        // 如果用户名和密码都匹配，且role的值为超级管理员，则跳转到超级管理员界面
        else if (this.data.getusername == res.data[0].username && this.data.getpassword == res.data[0].password && res.data[0].role == 'superadmin') {
          // 将当前用户的name写入缓存，方便在后面页面使用
          wx.setStorage({
            data: res.data[0].name,
            key: 'nickName',
          })
          // 将当前用户的openid写入缓存，方便在后期页面使用
          wx.setStorage({
            data: res.data[0]._openid,
            key: 'nowlogin_user',
          })
          // 将用户的用户名写入缓存，方便后期使用
          wx.setStorage({
            data: res.data[0].username,
            key: 'username',
          })
          // 将用户的头像地址写入缓存，方便在后面页面中使用
          if (res.data[0].avatar.length != 0) {
            wx.setStorage({
              data: res.data[0].avatar,
              key: 'avatarUrl',
            })
          } else {
            wx.setStorage({
              data: '',
              key: 'avatarUrl',
            })
          }
          wx.reLaunch({
            url: '../../pages/superadmin/superadmin',
          })
        }
        //当且仅当输入的用户和密码与数据库中数据匹配的时候
        else if (this.data.getusername == res.data[0].username && this.data.getpassword == res.data[0].password) {
          // 将当前用户的name写入缓存，方便在后面页面使用
          wx.setStorage({
            data: res.data[0].username,
            key: 'nickName',
          })
          // 将当前用户的openid写入缓存，方便在后期页面使用
          wx.setStorage({
            data: res.data[0]._openid,
            key: 'nowlogin_user',
          })
          // 将用户的用户名写入缓存，方便后期使用
          wx.setStorage({
            data: res.data[0].username,
            key: 'username',
          })
          // 将用户的头像地址写入缓存，方便在后面页面中使用
          if (res.data[0].avatar.length != 0) {
            wx.setStorage({
              data: res.data[0].avatar,
              key: 'avatarUrl',
            })
          } else {
            wx.setStorage({
              data: '',
              key: 'avatarUrl',
            })
          }
          wx.showLoading({
            title: '加载中',
          })
          setTimeout(function () {
            wx.hideLoading();
          }, 300)
          setTimeout(function () {
            wx.showToast({
              title: '登录成功',
              icon: 'none'
            })
          }, 500)
          wx.reLaunch({
            url: '../../pages/main/main',
          })
          // wx.switchTab({
          //   url: '../../pages/main/main',
          // })
        } else {
          wx.showLoading({
            title: '加载中',
          })
          setTimeout(function () {
            wx.hideLoading();
          }, 300)
          setTimeout(function () {
            wx.showToast({
              title: '用户名或密码错误',
              icon: 'none'
            })
          }, 500)


        }
      })
      .catch(err => {
        console.log(err);
      })



  },

  // 点击没有账号，立即注册跳转到注册界面
  sign_up_now: function () {
    wx.navigateTo({
      url: '../../pages/signup/signup',
    })
  },

  // 点击忘记密码，跳转到找回密码界面
  forget_mypassword: function () {
    wx.navigateTo({
      url: '../../pages/find_password/find_password',
    })
  },

  // 微信快捷一键登录
  wx_oneclick_login: function (event) {
    wx.getUserProfile({
      desc: '用于完善会员资料',
      success: (res) => {
        console.log(res.userInfo);
        wx.setStorage({
          data: res.userInfo.nickName,
          key: 'nickName',
        })
        wx.setStorage({
          data: res.userInfo.avatarUrl,
          key: 'avatarUrl',
        })
        wx.setStorage({
          data: res.userInfo.nickName,
          key: 'username',
        })
        db.collection('users').where({
          username: res.userInfo.nickName
        }).get().then(res => {
          if (res.data.length != 0) {
            return
          } else if (res.data.length == 0) {
            wx.cloud.callFunction({
              name: 'update',
              data: {
                options: 'add_wxuser',
                wxname: res.userInfo.nickName,
                avatar: res.userInfo.avatarUrl,
              }
            })
          }
        })
        wx.cloud.callFunction({
          name: 'getuser_info'
        }).then(res => {
          console.log(res.result.openid);
          wx.setStorage({
            data: res.result.openid,
            key: 'nowlogin_user',
          })
          wx.switchTab({
            url: '../../pages/main/main',
          })
        })




      }
    })
    // if (!event.detail.cloudID) return;


    // wx.login({
    //   // timeout: 1000,
    //   success(res){
    //     let code = res.code;
    //     let appid = 'wxcf4361d9424f38f6';
    //     let secret = '3acd0b4285934a2e454bf21562f493f0';
    //     // console.log(res.code);
    //   wx.request({
    //     url: "https://api.weixin.qq.com/sns/jscode2session?appid="+ appid+"&secret="+ secret +"&js_code="+ code +"&grant_type=authorization_code",
    //     method:"GET",
    //     data:{
    //       code:res.data,
    //     },
    //     success(res){
    //       console.log(res);
    //       console.log('openid=====',res.data.openid);   // 得到openid
    //       console.log('session_key====', res.data.session_key);   // 得到 session_key
    //       // 将当前用户的OpenId写入缓存，方便下次使用

    //       wx.setStorageSync('nowlogin_user', res.data.openid)
    //       wx.switchTab({
    //         url: '../../pages/main/main',
    //       })
    //     }
    //   })
    //   },
    //   fail(res){
    //     console.log(res);
    //   }
    // })
    // 直接调用云函数来拿到用户的openid

  },


  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    this.setData({
      loading: false
    })
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})